﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using RamaSoft.Common;
using ComponentFactory.Krypton.Toolkit;

namespace RamaSoft.CtlPatrim
{
    public partial class CtlPatrim : KryptonForm
    {
        public Common.Win.WinApp MyApp = new Common.Win.WinApp();

        public CtlPatrim()
        {
            InitializeComponent();
        }

        private void menuSaída_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void menuTransfere_Click(object sender, EventArgs e)
        {
            CadPesq.Ação = "Transfere";
            CadPesq frmPesq = new CadPesq(MyApp.ApplicationDatabase);
            frmPesq.ShowDialog(this);
        }

        private void menuBaixa_Click(object sender, EventArgs e)
        {
            CadPesq.Ação = "Baixa";
            CadPesq frmPesq = new CadPesq(MyApp.ApplicationDatabase);
            frmPesq.ShowDialog(this);
        }

        private void menuHistórico_Click(object sender, EventArgs e)
        {
            CadPesq.Ação = "Histo";
            CadPesq frmPesq = new CadPesq(MyApp.ApplicationDatabase);
            frmPesq.ShowDialog(this);
        }

        private void menuPosiçCatego_Click(object sender, EventArgs e)
        {
            Situa.Ação = "Catego";
            Situa frmPosiç = new Situa(MyApp.ApplicationDatabase);
            frmPosiç.ShowDialog(this); 
        }

        private void menuPosiçGeral_Click(object sender, EventArgs e)
        {
            Situa.Ação = "Geral";
            Situa frmPosiç = new Situa(MyApp.ApplicationDatabase);
            frmPosiç.ShowDialog(this); 
        }

        private void Form_Load(object sender, EventArgs e)
        {
            if (!MyApp.Initialize(System.Reflection.Assembly.GetExecutingAssembly()))
            {
                MessageBox.Show("Banco de Dados não está conectado");
                Close();
            }
            if (MyApp.ApplicationUser.CheckPermission("SISTEMA.SEGURANÇA", false))
            {
                menuSenhas.Visible = true;
                menuSenhas.Enabled = true;
            }
            cadGeral regGeral = new cadGeral(MyApp.ApplicationDatabase);
            regGeral.Tipo = "K";
            regGeral.Código = 0;
            int dbRet = regGeral.Obter();
            if (dbRet != 0)
            {
                MessageBox.Show("Favor avisar a RamaSoft\n"
                    + "referência: " + this.Name + " Data\n" + regGeral.MsgErro,
                    "Erro no acesso ao Banco de Dados", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            DateTime dbData = Convert.ToDateTime(regGeral.Descrição);
            if (dbData > DateTime.Today)
            {
                MessageBox.Show("Favor avisar a RamaSoft", "Erro na data do Banco de Dados");
                return;
            }
            else if (dbData < DateTime.Today)
            {
                regGeral.Descrição = DateTime.Today.ToString("dd/MM/yyyy");
                dbRet = regGeral .Update ();
                if (dbRet != 0)
                {
                    MessageBox.Show("Favor avisar a RamaSoft\n"
                        + "referência: " + this.Name + " Data\n" + regGeral.MsgErro,
                        "Erro no acesso ao Banco de Dados", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
        }

        private void menuCadNovo_Click(object sender, EventArgs e)
        {
            CadNovo.numPeça = 0; 
            CadNovo frmCad = new CadNovo(MyApp.ApplicationDatabase);
            frmCad.ShowDialog(this); 
        }

        private void menuCadAlterar_Click(object sender, EventArgs e)
        {
            CadPesq.Ação = "Cadastro";
            CadPesq frmPesq = new CadPesq(MyApp.ApplicationDatabase);
            frmPesq.ShowDialog(this);
        }

        private void menuCadExcluir_Click(object sender, EventArgs e)
        {
            CadPesq.Ação = "Excluir";
            CadPesq frmPesq = new CadPesq(MyApp.ApplicationDatabase);
            frmPesq.ShowDialog(this);
        }

        private void menuCadExcluirConj_Click(object sender, EventArgs e)
        {
            CadPesq.Ação = "ExclConj";
            CadPesq frmPesq = new CadPesq(MyApp.ApplicationDatabase);
            frmPesq.ShowDialog(this);
        }

        private void menuSenhas_Click(object sender, EventArgs e)
        {
            MyApp.SecurityManager();
        }

        private void menuDepreçSitua_Click(object sender, EventArgs e)
        {
            Contábil frmConta = new Contábil(MyApp.ApplicationDatabase);
            frmConta.ShowDialog(this); 
        }

        private void menuDepreçAtual_Click(object sender, EventArgs e)
        {
            Cálculo frmCalc = new Cálculo(MyApp.ApplicationDatabase);
            frmCalc.ShowDialog(this); 
        }

        private void menuTabCategoria_Click(object sender, EventArgs e)
        {
            Tabelas.Ação = "Catego";
            Tabelas frmTable = new Tabelas(MyApp.ApplicationDatabase);
            frmTable.ShowDialog(this);
        }

        private void menuTabDeparto_Click(object sender, EventArgs e)
        {
            Tabelas.Ação = "Departo";
            Tabelas frmTable = new Tabelas(MyApp.ApplicationDatabase);
            frmTable.ShowDialog(this);
        }

        private void MenuTabMotivo_Click(object sender, EventArgs e)
        {
            Tabelas.Ação = "Motivo";
            Tabelas frmTable = new Tabelas(MyApp.ApplicationDatabase);
            frmTable.ShowDialog(this);
        }
        
        void TsmiRelBensFornecedoresClick(object sender, EventArgs e)
        {
        	relBensFornecedor rel = new relBensFornecedor(MyApp.ApplicationDatabase);
        	rel.ShowDialog(this);
        }
    }
}
